CREATE TABLE tb_ten_tipo_endereco (
  ten_idt_tipo_endereco INT  NOT NULL   IDENTITY ,
  ten_dat_criacao DATETIME  NOT NULL  ,
  ten_des_tipo_endereco VARCHAR(50)  NOT NULL  ,
  ten_cod_tipo_endereco CHAR(5)  NOT NULL    ,
PRIMARY KEY(ten_idt_tipo_endereco));
GO




CREATE TABLE tb_pes_pessoa (
  pes_idt_pessoa INT  NOT NULL   IDENTITY ,
  pes_dat_criacao DATETIME    ,
  pes_flg_ativo BIT      ,
PRIMARY KEY(pes_idt_pessoa));
GO




CREATE TABLE tb_tpa_tipo_pagamento (
  tpa_idt_tipo_pagamento INT  NOT NULL   IDENTITY ,
  tpa_des_tipo_pagamento VARCHAR(50)  NOT NULL  ,
  tpa_dat_criacao DATETIME  NOT NULL  ,
  tpa_num_parcelas INT  NOT NULL    ,
PRIMARY KEY(tpa_idt_tipo_pagamento));
GO




CREATE TABLE tb_spe_status_pedido (
  spe_idt_status_pedido INT  NOT NULL   IDENTITY ,
  spe_des_status_pedido VARCHAR(50)      ,
PRIMARY KEY(spe_idt_status_pedido));
GO




CREATE TABLE tb_sep_status_envio_pedido (
  sep_idt_status_envio_pedido INT  NOT NULL   IDENTITY ,
  sep_dat_criacao DATETIME    ,
  sep_des_status_envio_pedido VARCHAR(50)      ,
PRIMARY KEY(sep_idt_status_envio_pedido));
GO




CREATE TABLE tb_spp_status_pagamento_pedido (
  spp_idt_status_pagamento_pedido INT  NOT NULL   IDENTITY ,
  spp_dat_criacao DATETIME    ,
  spp_des_status_pagamento_pedido VARCHAR(50)      ,
PRIMARY KEY(spp_idt_status_pagamento_pedido));
GO




CREATE TABLE tb_tus_tipo_usuario (
  tus_idt_tipo_usuario INT  NOT NULL   IDENTITY ,
  tus_dat_criacao DATETIME  NOT NULL  ,
  tus_des_tipo_usuario VARCHAR(50)  NOT NULL  ,
  tus_cod_tipo_usuario CHAR(3)  NOT NULL    ,
PRIMARY KEY(tus_idt_tipo_usuario));
GO




CREATE TABLE tb_tte_tipo_telefone (
  tte_idt_tipo_telefone INT  NOT NULL   IDENTITY ,
  tte_des_tipo_telefone VARCHAR(50)  NOT NULL  ,
  tte_dat_criacao DATETIME  NOT NULL    ,
PRIMARY KEY(tte_idt_tipo_telefone));
GO




CREATE TABLE tb_cat_categoria (
  cat_idt_categoria INT  NOT NULL   IDENTITY ,
  cat_idt_categoria_pai INT    ,
  cat_dat_criacao DATETIME  NOT NULL  ,
  cat_des_categoria VARCHAR(30)  NOT NULL  ,
  cat_flg_ativo BIT  NOT NULL    ,
PRIMARY KEY(cat_idt_categoria));
GO




CREATE TABLE tb_pro_produto (
  pro_idt_produto INT  NOT NULL   IDENTITY ,
  cat_idt_categoria INT  NOT NULL  ,
  pro_dat_criacao DATETIME  NOT NULL  ,
  pro_cod_produto VARCHAR(30)  NOT NULL  ,
  pro_des_produto VARCHAR(2000)  NOT NULL  ,
  pro_des_abreviada VARCHAR(200)    ,
  pro_nom_produto VARCHAR(100)  NOT NULL  ,
  pro_flg_ativo BIT  NOT NULL  ,
  pro_cod_fabricante VARCHAR(30)    ,
  pro_vlr_preco_custo NUMERIC(15,2)  NOT NULL  ,
  pro_vlr_preco_consumidor NUMERIC(15,2)  NOT NULL  ,
  pro_vlr_preco_revenda NUMERIC(15,2)  NOT NULL  ,
  pro_vlr_peso NUMERIC(15,2)    ,
  pro_vlr_comprimento NUMERIC(15,2)    ,
  pro_vlr_largura NUMERIC(15,2)    ,
  pro_flg_exibir_pagina_inicial BIT  NOT NULL DEFAULT 1 ,
  pro_flg_produto_disponivel BIT  NOT NULL DEFAULT 1 ,
  pro_flg_produto_destaque BIT  NOT NULL DEFAULT 1 ,
  pro_vlr_altura NUMERIC(15,2)    ,
  pro_vlr_diametro NUMERIC(15,2)      ,
PRIMARY KEY(pro_idt_produto)  ,
  FOREIGN KEY(cat_idt_categoria)
    REFERENCES tb_cat_categoria(cat_idt_categoria));
GO


CREATE INDEX tb_pro_produto_FKIndex1 ON tb_pro_produto (cat_idt_categoria);
GO


CREATE INDEX IFK_Rel_01 ON tb_pro_produto (cat_idt_categoria);
GO


CREATE TABLE tb_pju_pessoa_juridica (
  pju_idt_pessoa_juridica INT  NOT NULL  ,
  pju_num_cnpj VARCHAR(14)  NOT NULL  ,
  pju_num_inscricao_estadual VARCHAR(20)    ,
  pju_des_razao_social VARCHAR(200)  NOT NULL  ,
  pju_des_nom_fantasia VARCHAR(100)    ,
  pju_end_website VARCHAR(100)      ,
PRIMARY KEY(pju_idt_pessoa_juridica)  ,
  FOREIGN KEY(pju_idt_pessoa_juridica)
    REFERENCES tb_pes_pessoa(pes_idt_pessoa));
GO


CREATE INDEX tb_pju_pessoa_juridica_FKIndex1 ON tb_pju_pessoa_juridica (pju_idt_pessoa_juridica);
GO


CREATE INDEX IFK_Rel_17 ON tb_pju_pessoa_juridica (pju_idt_pessoa_juridica);
GO


CREATE TABLE tb_tra_transportadora (
  tra_idt_transportadora INT  NOT NULL  ,
  tra_cod_transportadora VARCHAR(20)  NOT NULL    ,
PRIMARY KEY(tra_idt_transportadora)  ,
  FOREIGN KEY(tra_idt_transportadora)
    REFERENCES tb_pju_pessoa_juridica(pju_idt_pessoa_juridica));
GO


CREATE INDEX tb_tra_transportadora_FKIndex1 ON tb_tra_transportadora (tra_idt_transportadora);
GO


CREATE INDEX IFK_Rel_20 ON tb_tra_transportadora (tra_idt_transportadora);
GO


CREATE TABLE tb_ipr_imagem_produto (
  ipr_idt_imagem_produto INT  NOT NULL   IDENTITY ,
  pro_idt_produto INT  NOT NULL  ,
  ipr_dat_criacao DATETIME  NOT NULL  ,
  ipr_des_caminho_imagem VARCHAR(500)  NOT NULL  ,
  ipr_des_imagem VARCHAR(50)  NOT NULL  ,
  ipr_num_ordem_imagem INT  NOT NULL  ,
  ipr_des_caminho_virtual VARCHAR(200)  NOT NULL    ,
PRIMARY KEY(ipr_idt_imagem_produto)  ,
  FOREIGN KEY(pro_idt_produto)
    REFERENCES tb_pro_produto(pro_idt_produto));
GO


CREATE INDEX tb_ipr_imagem_produto_FKIndex1 ON tb_ipr_imagem_produto (pro_idt_produto);
GO


CREATE INDEX IFK_Rel_13 ON tb_ipr_imagem_produto (pro_idt_produto);
GO


CREATE TABLE tb_pfi_pessoa_fisica (
  pfi_idt_pessoa_fisica INT  NOT NULL  ,
  pfi_num_cpf CHAR(11)  NOT NULL  ,
  pfi_num_rg VARCHAR(14)    ,
  pfi_des_orgao_emissor CHAR(5)    ,
  pfi_cod_sexo CHAR(1)  NOT NULL  ,
  pfi_dat_nascimento DATETIME    ,
  pfi_nom_pessoa_fisica VARCHAR(200)  NOT NULL  ,
  pfi_des_email VARCHAR(100)      ,
PRIMARY KEY(pfi_idt_pessoa_fisica)  ,
  FOREIGN KEY(pfi_idt_pessoa_fisica)
    REFERENCES tb_pes_pessoa(pes_idt_pessoa));
GO


CREATE INDEX tb_pfi_pessoa_fisica_FKIndex1 ON tb_pfi_pessoa_fisica (pfi_idt_pessoa_fisica);
GO


CREATE INDEX IFK_Rel_26 ON tb_pfi_pessoa_fisica (pfi_idt_pessoa_fisica);
GO


CREATE TABLE tb_usu_usuario (
  usu_idt_usuario INT  NOT NULL  ,
  tus_idt_tipo_usuario INT  NOT NULL  ,
  usu_des_login VARCHAR(100)  NOT NULL  ,
  usu_des_senha VARCHAR(10)  NOT NULL    ,
PRIMARY KEY(usu_idt_usuario)    ,
  FOREIGN KEY(tus_idt_tipo_usuario)
    REFERENCES tb_tus_tipo_usuario(tus_idt_tipo_usuario),
  FOREIGN KEY(usu_idt_usuario)
    REFERENCES tb_pfi_pessoa_fisica(pfi_idt_pessoa_fisica));
GO


CREATE INDEX tb_usu_usuario_FKIndex1 ON tb_usu_usuario (usu_idt_usuario);
GO
CREATE INDEX tb_usu_usuario_FKIndex2 ON tb_usu_usuario (tus_idt_tipo_usuario);
GO


CREATE INDEX IFK_Rel_22 ON tb_usu_usuario (tus_idt_tipo_usuario);
GO
CREATE INDEX IFK_Rel_27 ON tb_usu_usuario (usu_idt_usuario);
GO


CREATE TABLE tb_tel_telefone (
  tel_idt_telefone INT  NOT NULL   IDENTITY ,
  pes_idt_pessoa INT  NOT NULL  ,
  tte_idt_tipo_telefone INT  NOT NULL  ,
  tel_dat_criacao DATETIME  NOT NULL  ,
  tel_num_ddd CHAR(2)  NOT NULL  ,
  tel_num_telefone INT  NOT NULL    ,
PRIMARY KEY(tel_idt_telefone)    ,
  FOREIGN KEY(tte_idt_tipo_telefone)
    REFERENCES tb_tte_tipo_telefone(tte_idt_tipo_telefone),
  FOREIGN KEY(pes_idt_pessoa)
    REFERENCES tb_pes_pessoa(pes_idt_pessoa));
GO


CREATE INDEX tb_tel_telefone_FKIndex1 ON tb_tel_telefone (tte_idt_tipo_telefone);
GO
CREATE INDEX tb_tel_telefone_FKIndex2 ON tb_tel_telefone (pes_idt_pessoa);
GO


CREATE INDEX IFK_Rel_14 ON tb_tel_telefone (tte_idt_tipo_telefone);
GO
CREATE INDEX IFK_Rel_15 ON tb_tel_telefone (pes_idt_pessoa);
GO


CREATE TABLE tb_des_desconto (
  des_idt_desconto INT  NOT NULL   IDENTITY ,
  pro_idt_produto INT  NOT NULL  ,
  tpa_idt_tipo_pagamento INT  NOT NULL  ,
  des_dat_criacao DATETIME  NOT NULL  ,
  des_vlr_desconto NUMERIC(15,2)  NOT NULL  ,
  des_dat_inicio_vigencia DATETIME  NOT NULL  ,
  des_dat_fim_vigencia DATETIME    ,
  des_flg_desconto_revenda BIT  NOT NULL    ,
PRIMARY KEY(des_idt_desconto)    ,
  FOREIGN KEY(tpa_idt_tipo_pagamento)
    REFERENCES tb_tpa_tipo_pagamento(tpa_idt_tipo_pagamento),
  FOREIGN KEY(pro_idt_produto)
    REFERENCES tb_pro_produto(pro_idt_produto));
GO


CREATE INDEX tb_des_desconto_FKIndex1 ON tb_des_desconto (tpa_idt_tipo_pagamento);
GO
CREATE INDEX tb_des_desconto_FKIndex2 ON tb_des_desconto (pro_idt_produto);
GO


CREATE INDEX IFK_Rel_30 ON tb_des_desconto (tpa_idt_tipo_pagamento);
GO
CREATE INDEX IFK_Rel_29 ON tb_des_desconto (pro_idt_produto);
GO


CREATE TABLE tb_end_endereco (
  end_idt_endereco INT  NOT NULL   IDENTITY ,
  ten_idt_tipo_endereco INT  NOT NULL  ,
  pes_idt_pessoa INT  NOT NULL  ,
  end_dat_criacao DATETIME  NOT NULL  ,
  end_nom_logradouro VARCHAR(100)  NOT NULL  ,
  end_num_endereco INT    ,
  end_des_bairro VARCHAR(200)  NOT NULL  ,
  end_des_complemento VARCHAR(200)    ,
  end_num_cep CHAR(8)  NOT NULL  ,
  end_sig_uf CHAR(2)  NOT NULL  ,
  end_nom_cidade VARCHAR(100)  NOT NULL    ,
PRIMARY KEY(end_idt_endereco)    ,
  FOREIGN KEY(pes_idt_pessoa)
    REFERENCES tb_pes_pessoa(pes_idt_pessoa),
  FOREIGN KEY(ten_idt_tipo_endereco)
    REFERENCES tb_ten_tipo_endereco(ten_idt_tipo_endereco));
GO


CREATE INDEX tb_end_endereco_FKIndex1 ON tb_end_endereco (pes_idt_pessoa);
GO
CREATE INDEX tb_end_endereco_FKIndex2 ON tb_end_endereco (ten_idt_tipo_endereco);
GO


CREATE INDEX IFK_Rel_14 ON tb_end_endereco (pes_idt_pessoa);
GO
CREATE INDEX IFK_Rel_29 ON tb_end_endereco (ten_idt_tipo_endereco);
GO

CREATE TABLE tb_prr_produto_relacionado (
  prr_idt_produto_relacionado INT NOT NULL IDENTITY,
  pro_idt_produto_associado INT  NOT NULL  ,
  pro_idt_produto_principal INT  NOT NULL  ,
  prr_dat_criacao DATETIME        ,
  PRIMARY KEY (prr_idt_produto_relacionado),
  FOREIGN KEY(pro_idt_produto_principal)
    REFERENCES tb_pro_produto(pro_idt_produto),
  FOREIGN KEY(pro_idt_produto_associado)
    REFERENCES tb_pro_produto(pro_idt_produto));
GO


CREATE INDEX tb_prr_produto_relacionado_FKIndex1 ON tb_prr_produto_relacionado (pro_idt_produto_principal);
GO
CREATE INDEX tb_prr_produto_relacionado_FKIndex2 ON tb_prr_produto_relacionado (pro_idt_produto_associado);
GO


CREATE INDEX IFK_Rel_32 ON tb_prr_produto_relacionado (pro_idt_produto_principal);
GO
CREATE INDEX IFK_Rel_33 ON tb_prr_produto_relacionado (pro_idt_produto_associado);
GO


CREATE TABLE tb_pvc_produto_venda_cruzada (
  pvc_idt_produto_venda_cruzada INT  NOT NULL IDENTITY,
  pro_idt_produto_associado INT  NOT NULL  ,
  pro_idt_produto_principal INT  NOT NULL  ,
  pvc_dat_criacao DATETIME  NOT NULL      ,
  PRIMARY KEY(pvc_idt_produto_venda_cruzada),
  FOREIGN KEY(pro_idt_produto_principal)
    REFERENCES tb_pro_produto(pro_idt_produto),
  FOREIGN KEY(pro_idt_produto_associado)
    REFERENCES tb_pro_produto(pro_idt_produto));
GO


CREATE INDEX tb_pvc_produto_venda_cruzada_FKIndex1 ON tb_pvc_produto_venda_cruzada (pro_idt_produto_principal);
GO
CREATE INDEX tb_pvc_produto_venda_cruzada_FKIndex2 ON tb_pvc_produto_venda_cruzada (pro_idt_produto_associado);
GO


CREATE INDEX IFK_Rel_30 ON tb_pvc_produto_venda_cruzada (pro_idt_produto_principal);
GO
CREATE INDEX IFK_Rel_31 ON tb_pvc_produto_venda_cruzada (pro_idt_produto_associado);
GO


CREATE TABLE tb_ped_pedido (
  ped_idt_pedido INT  NOT NULL   IDENTITY ,
  spp_idt_status_pagamento_pedido INT  NOT NULL  ,
  sep_idt_status_envio_pedido INT  NOT NULL  ,
  spe_idt_status_pedido INT  NOT NULL  ,
  tpa_idt_tipo_pagamento INT  NOT NULL  ,
  pes_idt_pessoa INT  NOT NULL  ,
  ped_dat_criacao DATETIME    ,
  ped_des_pedido VARCHAR(200)    ,
  ped_num_ip_pedido VARCHAR(15)    ,
  ped_vlr_frete NUMERIC(15,2)    ,
  ped_vlr_total_pedido NUMERIC(15,2)      ,
PRIMARY KEY(ped_idt_pedido)          ,
  FOREIGN KEY(pes_idt_pessoa)
    REFERENCES tb_pes_pessoa(pes_idt_pessoa),
  FOREIGN KEY(tpa_idt_tipo_pagamento)
    REFERENCES tb_tpa_tipo_pagamento(tpa_idt_tipo_pagamento),
  FOREIGN KEY(spe_idt_status_pedido)
    REFERENCES tb_spe_status_pedido(spe_idt_status_pedido),
  FOREIGN KEY(sep_idt_status_envio_pedido)
    REFERENCES tb_sep_status_envio_pedido(sep_idt_status_envio_pedido),
  FOREIGN KEY(spp_idt_status_pagamento_pedido)
    REFERENCES tb_spp_status_pagamento_pedido(spp_idt_status_pagamento_pedido));
GO


CREATE INDEX tb_ped_pedido_FKIndex1 ON tb_ped_pedido (pes_idt_pessoa);
GO
CREATE INDEX tb_ped_pedido_FKIndex2 ON tb_ped_pedido (tpa_idt_tipo_pagamento);
GO
CREATE INDEX tb_ped_pedido_FKIndex3 ON tb_ped_pedido (spe_idt_status_pedido);
GO
CREATE INDEX tb_ped_pedido_FKIndex4 ON tb_ped_pedido (sep_idt_status_envio_pedido);
GO
CREATE INDEX tb_ped_pedido_FKIndex5 ON tb_ped_pedido (spp_idt_status_pagamento_pedido);
GO


CREATE INDEX IFK_Rel_10 ON tb_ped_pedido (pes_idt_pessoa);
GO
CREATE INDEX IFK_Rel_16 ON tb_ped_pedido (tpa_idt_tipo_pagamento);
GO
CREATE INDEX IFK_Rel_38 ON tb_ped_pedido (spe_idt_status_pedido);
GO
CREATE INDEX IFK_Rel_39 ON tb_ped_pedido (sep_idt_status_envio_pedido);
GO
CREATE INDEX IFK_Rel_40 ON tb_ped_pedido (spp_idt_status_pagamento_pedido);
GO


CREATE TABLE tb_rev_revenda (
  rev_idt_revenda INT  NOT NULL  ,
  rev_cod_revenda VARCHAR(20)  NOT NULL    ,
PRIMARY KEY(rev_idt_revenda)  ,
  FOREIGN KEY(rev_idt_revenda)
    REFERENCES tb_pju_pessoa_juridica(pju_idt_pessoa_juridica));
GO


CREATE INDEX tb_rev_revenda_FKIndex1 ON tb_rev_revenda (rev_idt_revenda);
GO


CREATE INDEX IFK_Rel_18 ON tb_rev_revenda (rev_idt_revenda);
GO


CREATE TABLE tb_lrp_log_rastreamento_pedido (
  lrp_idt_log_rastreamento_pedido INT  NOT NULL   IDENTITY ,
  ped_idt_pedido INT  NOT NULL  ,
  lrp_dat_criacao DATETIME  NOT NULL  ,
  lrp_des_log_rastreio_pedido VARCHAR(300)    ,
  lpr_cod_status VARCHAR(5)      ,
PRIMARY KEY(lrp_idt_log_rastreamento_pedido)  ,
  FOREIGN KEY(ped_idt_pedido)
    REFERENCES tb_ped_pedido(ped_idt_pedido));
GO


CREATE INDEX tb_rpe_rastreamento_pedido_FKIndex1 ON tb_lrp_log_rastreamento_pedido (ped_idt_pedido);
GO


CREATE INDEX IFK_Rel_30 ON tb_lrp_log_rastreamento_pedido (ped_idt_pedido);
GO


CREATE TABLE tb_ure_usuario_revenda (
  ure_idt_usuario_revenda INT  NOT NULL   IDENTITY ,
  usu_idt_usuario INT  NOT NULL  ,
  rev_idt_revenda INT  NOT NULL  ,
  ure_dat_criacao DATETIME  NOT NULL    ,
PRIMARY KEY(ure_idt_usuario_revenda)    ,
  FOREIGN KEY(usu_idt_usuario)
    REFERENCES tb_usu_usuario(usu_idt_usuario),
  FOREIGN KEY(rev_idt_revenda)
    REFERENCES tb_rev_revenda(rev_idt_revenda));
GO


CREATE INDEX tb_ure_usuario_revenda_FKIndex1 ON tb_ure_usuario_revenda (usu_idt_usuario);
GO
CREATE INDEX tb_ure_usuario_revenda_FKIndex2 ON tb_ure_usuario_revenda (rev_idt_revenda);
GO


CREATE INDEX IFK_Rel_28 ON tb_ure_usuario_revenda (usu_idt_usuario);
GO
CREATE INDEX IFK_Rel_29 ON tb_ure_usuario_revenda (rev_idt_revenda);
GO


CREATE TABLE tb_ope_observacao_pedido (
  ope_idt_observacao_pedido INT  NOT NULL   IDENTITY ,
  usu_idt_usuario INT  NOT NULL  ,
  ped_idt_pedido INT  NOT NULL  ,
  ope_dat_criacao DATETIME    ,
  ope_des_observacao VARCHAR(200)      ,
PRIMARY KEY(ope_idt_observacao_pedido)    ,
  FOREIGN KEY(ped_idt_pedido)
    REFERENCES tb_ped_pedido(ped_idt_pedido),
  FOREIGN KEY(usu_idt_usuario)
    REFERENCES tb_usu_usuario(usu_idt_usuario));
GO


CREATE INDEX tb_ope_observacao_pedido_FKIndex1 ON tb_ope_observacao_pedido (ped_idt_pedido);
GO
CREATE INDEX tb_ope_observacao_pedido_FKIndex2 ON tb_ope_observacao_pedido (usu_idt_usuario);
GO


CREATE INDEX IFK_Rel_22 ON tb_ope_observacao_pedido (ped_idt_pedido);
GO
CREATE INDEX IFK_Rel_23 ON tb_ope_observacao_pedido (usu_idt_usuario);
GO


CREATE TABLE tb_ipe_item_pedido (
  ipe_idt_item_pedido INT  NOT NULL   IDENTITY ,
  pro_idt_produto INT  NOT NULL  ,
  ped_idt_pedido INT  NOT NULL  ,
  ipe_vlr_item NUMERIC(15,2)  NOT NULL  ,
  ipe_vlr_desconto NUMERIC(15,2)    ,
  ipe_qtd_item_pedido INT  NOT NULL    ,
PRIMARY KEY(ipe_idt_item_pedido)    ,
  FOREIGN KEY(ped_idt_pedido)
    REFERENCES tb_ped_pedido(ped_idt_pedido),
  FOREIGN KEY(pro_idt_produto)
    REFERENCES tb_pro_produto(pro_idt_produto));
GO


CREATE INDEX tb_ipe_item_pedido_FKIndex1 ON tb_ipe_item_pedido (ped_idt_pedido);
GO
CREATE INDEX tb_ipe_item_pedido_FKIndex2 ON tb_ipe_item_pedido (pro_idt_produto);
GO


CREATE INDEX IFK_Rel_02 ON tb_ipe_item_pedido (ped_idt_pedido);
GO
CREATE INDEX IFK_Rel_03 ON tb_ipe_item_pedido (pro_idt_produto);
GO


CREATE TABLE tb_spal_status_pagamento_log (
  spal_idt_status_pagamento_log INT  NOT NULL   IDENTITY ,
  ped_idt_pedido INT  NOT NULL  ,
  spp_idt_status_pagamento_pedido INT  NOT NULL  ,
  spal_dat_criacao DATETIME  NOT NULL    ,
PRIMARY KEY(spal_idt_status_pagamento_log)    ,
  FOREIGN KEY(spp_idt_status_pagamento_pedido)
    REFERENCES tb_spp_status_pagamento_pedido(spp_idt_status_pagamento_pedido),
  FOREIGN KEY(ped_idt_pedido)
    REFERENCES tb_ped_pedido(ped_idt_pedido));
GO


CREATE INDEX tb_spal_status_pagamento_log_FKIndex1 ON tb_spal_status_pagamento_log (spp_idt_status_pagamento_pedido);
GO
CREATE INDEX tb_spal_status_pagamento_log_FKIndex2 ON tb_spal_status_pagamento_log (ped_idt_pedido);
GO


CREATE INDEX IFK_Rel_37 ON tb_spal_status_pagamento_log (spp_idt_status_pagamento_pedido);
GO
CREATE INDEX IFK_Rel_38 ON tb_spal_status_pagamento_log (ped_idt_pedido);
GO


CREATE TABLE tb_sel_status_envio_log (
  sel_idt_status_envio_log INT  NOT NULL   IDENTITY ,
  sep_idt_status_envio_pedido INT  NOT NULL  ,
  ped_idt_pedido INT  NOT NULL  ,
  sel_dat_criacao DATETIME      ,
PRIMARY KEY(sel_idt_status_envio_log)    ,
  FOREIGN KEY(ped_idt_pedido)
    REFERENCES tb_ped_pedido(ped_idt_pedido),
  FOREIGN KEY(sep_idt_status_envio_pedido)
    REFERENCES tb_sep_status_envio_pedido(sep_idt_status_envio_pedido));
GO


CREATE INDEX tb_sel_status_envio_log_FKIndex1 ON tb_sel_status_envio_log (ped_idt_pedido);
GO
CREATE INDEX tb_sel_status_envio_log_FKIndex2 ON tb_sel_status_envio_log (sep_idt_status_envio_pedido);
GO


CREATE INDEX IFK_Rel_35 ON tb_sel_status_envio_log (ped_idt_pedido);
GO
CREATE INDEX IFK_Rel_36 ON tb_sel_status_envio_log (sep_idt_status_envio_pedido);
GO


CREATE TABLE tb_ien_informacao_envio (
  ien_idt_informacao_envio INT  NOT NULL   IDENTITY ,
  tra_idt_transportadora INT  NOT NULL  ,
  end_idt_endereco INT  NOT NULL  ,
  ped_idt_pedido INT  NOT NULL  ,
  ien_dat_criacao DATETIME  NOT NULL  ,
  ien_cod_rastreamento VARCHAR(30)    ,
  ien_dat_envio_pedido DATETIME    ,
  ien_dat_recebimento_pedido DATETIME      ,
PRIMARY KEY(ien_idt_informacao_envio)      ,
  FOREIGN KEY(ped_idt_pedido)
    REFERENCES tb_ped_pedido(ped_idt_pedido),
  FOREIGN KEY(end_idt_endereco)
    REFERENCES tb_end_endereco(end_idt_endereco),
  FOREIGN KEY(tra_idt_transportadora)
    REFERENCES tb_tra_transportadora(tra_idt_transportadora));
GO


CREATE INDEX tb_ien_informacao_envio_FKIndex1 ON tb_ien_informacao_envio (ped_idt_pedido);
GO
CREATE INDEX tb_ien_informacao_envio_FKIndex3 ON tb_ien_informacao_envio (end_idt_endereco);
GO
CREATE INDEX tb_ien_informacao_envio_FKIndex4 ON tb_ien_informacao_envio (tra_idt_transportadora);
GO


CREATE INDEX IFK_Rel_23 ON tb_ien_informacao_envio (ped_idt_pedido);
GO
CREATE INDEX IFK_Rel_24 ON tb_ien_informacao_envio (end_idt_endereco);
GO
CREATE INDEX IFK_Rel_25 ON tb_ien_informacao_envio (tra_idt_transportadora);
GO


CREATE TABLE tb_spl_status_pedido_log (
  spl_idt_status_pedido_log INT  NOT NULL   IDENTITY ,
  ped_idt_pedido INT  NOT NULL  ,
  pes_idt_pessoa INT    ,
  spe_idt_status_pedido INT  NOT NULL  ,
  spl_dat_criacao DATETIME      ,
PRIMARY KEY(spl_idt_status_pedido_log)      ,
  FOREIGN KEY(spe_idt_status_pedido)
    REFERENCES tb_spe_status_pedido(spe_idt_status_pedido),
  FOREIGN KEY(pes_idt_pessoa)
    REFERENCES tb_pes_pessoa(pes_idt_pessoa),
  FOREIGN KEY(ped_idt_pedido)
    REFERENCES tb_ped_pedido(ped_idt_pedido));
GO


CREATE INDEX tb_spl_status_pedido_log_FKIndex1 ON tb_spl_status_pedido_log (spe_idt_status_pedido);
GO
CREATE INDEX tb_spl_status_pedido_log_FKIndex2 ON tb_spl_status_pedido_log (pes_idt_pessoa);
GO
CREATE INDEX tb_spl_status_pedido_log_FKIndex3 ON tb_spl_status_pedido_log (ped_idt_pedido);
GO


CREATE INDEX IFK_Rel_04 ON tb_spl_status_pedido_log (spe_idt_status_pedido);
GO
CREATE INDEX IFK_Rel_11 ON tb_spl_status_pedido_log (pes_idt_pessoa);
GO
CREATE INDEX IFK_Rel_33 ON tb_spl_status_pedido_log (ped_idt_pedido);
GO


